package mercadologico.dao;

import java.util.ArrayList;

import javax.persistence.Query;

import exceptions.PersistenceExceptionMessage;
import generic.dao.GenericDAO;
import mercadologico.entities.tables.Produto;

public class PersistenceProduto extends GenericDAO<Produto, Integer> {

	@Override
	public Class<Produto> getCurrentClass() {
		return Produto.class;
	}

	@SuppressWarnings("unchecked")
	public ArrayList<Produto> findProdutoByProdutoSimilar(Produto produtoSimilar) throws PersistenceExceptionMessage {
		if (getEntityManager() != null) {
			if (produtoSimilar != null) {
				Query query = getEntityManager().createQuery("FROM " +getCurrentClass().getName() +" p WHERE " +
						" p.produtoSimilar = :produtoSimilar ORDER BY p.variavel ");
			
				query.setParameter("produtoSimilar", produtoSimilar);
				return (ArrayList<Produto>) query.getResultList();
			}
		}
		return new ArrayList<Produto>();
	}

}
